package com.thingsgrid.application.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;

/**
 * 应用表实体类
 *
 * @author BladeX
 * @since 2019-08-13
 */
@Data
@TableName("blade_application")
@ApiModel(value = "Application对象", description = "应用表")
public class Application implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	* 主键
	*/
		@TableId(value = "id", type = IdType.ID_WORKER)
		@JsonSerialize(using = ToStringSerializer.class)
		private Long id;
	/**
	* 应用名称
	*/
		@ApiModelProperty(value = "应用名称")
		@NotBlank
		private String appName;
	/**
	* 应用描述
	*/
		@ApiModelProperty(value = "应用描述")
		private String appDescrption;
	/**
	* 应用创建时间
	*/
		@ApiModelProperty(value = "应用创建时间")
		@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
		private Date appCreateTime;
	/**
	* 应用更新时间
	*/
		@ApiModelProperty(value = "应用更新时间")
		@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
		private Date appUpdateTime;
	/**
	* 所属人ID
	*/
		@ApiModelProperty(value = "所属人ID")
		private Long ownerId;

	/**
	 * 所属人姓名
	 */
	@ApiModelProperty(value = "所属人姓名")
	private String ownerName;
	/**
	* 版本号
	*/
		@ApiModelProperty(value = "版本号")
		private String version;
	/**
	* 应用AK
	*/
		@ApiModelProperty(value = "应用AK")
		private String appAk;
	/**
	* 应用ck
	*/
		@ApiModelProperty(value = "应用ck")
		private String appCk;

	/**
	 * 图片地址
	 */
	@ApiModelProperty(value = "图片地址")
	private String appImage;

	/**
	 * 应用状态
	 *
	 * 0 离线  1 上线
	 */
	@ApiModelProperty(value = "图片地址")
	private String appStatus;

	/**
	 * 应用上线时间
	 */
	@ApiModelProperty(value = "应用创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date appOnLineTime;

	/**
	 * 应用下线时间
	 */
	@ApiModelProperty(value = "应用创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private Date appOffLineTime;

	/**
	* 是否已删除
	*/
		@TableLogic
		@ApiModelProperty(value = "是否已删除")
		private Integer isDeleted;


}
